home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmigaPlus / AmigaOS / Aplus_Dev / AP-Website / links / include / session.php < prev    next >
Encoding:
PHP Script  |  2002-10-28  |  1.7 KB  |  77 lines

  1. <?
  2. $session_key = "id";
  3. $session_value = "data";
  4. $session_time = "expire";
  5. $sdbh = "";
  6. $expire =  300;
  7. function sess_open($save_path, $session_name){
  8.     global $dbhost, $dbuser, $dbpasswd, $sdbh;
  9.     if (! $sdbh = mysql_pconnect($dbhost, $dbuser, $dbpasswd)){
  10.         echo mysql_error();
  11.         exit;
  12.     }
  13.     return true;
  14. }
  15. function sess_close(){
  16.     return true;
  17. }
  18. function sess_read($key){
  19.     global $sdbh, $dbname, $tb_sessions, $session_key, $session_value, $session_time;
  20.     $query = "
  21.         select
  22.             $session_value
  23.         from
  24.             $tb_sessions
  25.         where
  26.             $session_key = '$key'
  27.         and
  28.             $session_time > UNIX_TIMESTAMP()
  29.     ";
  30.     $result = mysql_db_query($dbname, $query, $sdbh);
  31.     if($record = mysql_fetch_row($result)){
  32.         return $record[0];
  33.     } else {
  34.         return false;
  35.     }
  36. }
  37. function sess_write($key, $val){
  38.     global $sdbh, $dbname, $tb_sessions, $expire;
  39.     $value = addslashes($val);
  40.     $query = "
  41.         replace into 
  42.             $tb_sessions
  43.         values (
  44.             '$key',
  45.             '$value',
  46.             UNIX_TIMESTAMP() + $expire
  47.         )
  48.     ";
  49.     $result = mysql_db_query($dbname, $query, $sdbh);
  50.     echo mysql_error();
  51.     return $result;
  52. }
  53. function sess_destroy($key){
  54.     global $sdbh, $dbname, $tb_sessions, $session_key;
  55.     $query = "
  56.         delete from
  57.             $tb_sessions
  58.         where
  59.             $session_key = '$key'
  60.     ";
  61.     $result = mysql_db_query($dbname, $query, $sdbh);
  62.     return $result;
  63. }
  64. function sess_gc($maxlifetime){
  65.     global $sdbh, $dbname, $tb_sessions, $session_time;
  66.     $query = "
  67.         delete from
  68.             $tb_sessions
  69.         where
  70.             $session_time < UNIX_TIMESTAMP()
  71.     ";
  72.     $result = mysql_db_query($dbname, $query, $sdbh);
  73.     return mysql_affected_rows($sdbh);
  74. }
  75. session_set_save_handler("sess_open","sess_close","sess_read","sess_write","sess_destroy","sess_gc");
  76. ?>
  77.